package com.wildeman.tokati.android;

import com.wildeman.tokati.constantes.Constantes;
import com.wildeman.tokati.core.Grupo;
import com.wildeman.tokati.db.DataHelper;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class NuevoGrupoActivity extends Activity 
{
	//BBDD
	private DataHelper dh;
	
	//Log
	private final String TAG = "NuevoGrupo";
	
    //Instancia del objeto Grupo
    Grupo miGrupo;
    boolean editarGrupo;
    
    

	
	
	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.nuevogrupo);
        
        //recuperamos el parámetro EDITAR_GRUPO para saber si hay que crear un grupo nuevo o editar uno existente
        editarGrupo = getIntent().getBooleanExtra(Constantes.EDITAR_GRUPO, false);
        
        //capturamos los botones y controles de la actividad
        Button botGuardar = (Button) findViewById(R.id.buttonGuardar);
        final EditText txtNombreGrupo = (EditText) findViewById(R.id.editTextNombGrupo);
        
        
        
        if (editarGrupo) //Si se va a editar un grupo
        {
        	miGrupo = (Grupo)getIntent().getSerializableExtra(Constantes.GRUPO);
        	txtNombreGrupo.setText(miGrupo.getNombreGrupo()); //Se muestra el nombre del grupo en el editView
        	
        	//Cambiamos el titulo de la pantalla
        	TextView txtTitulo = (TextView) findViewById(R.id.textTitNuevoGrupo);
        	txtTitulo.setText(R.string.grupo_titulo_editar);
        }
        
       
        /*---------------------------------------------------------------------------
         * captura del evento de pulsación del boton "Guardar"
         *--------------------------------------------------------------------------*/
        botGuardar.setOnClickListener(new View.OnClickListener() 
        {
			public void onClick(View v) 
			{
				if (txtNombreGrupo.getText().length() > 0)
        		{
					if (!editarGrupo)
					{
						miGrupo = new Grupo(txtNombreGrupo.getText().toString());
					}
					else
					{
						miGrupo.setNombreGrupo(txtNombreGrupo.getText().toString());
					}
					
					guardayMuestraGrupo();
        		}
        		else
        		{
        			Toast.makeText(NuevoGrupoActivity.this, R.string.nuevogrupo_toast_debes_introducir_nombre, Toast.LENGTH_SHORT).show();
        		}
				
				
			}
		});
        
    }
    
    
    


	/** Called when the activity another activity comes in front od this activity */
	@Override
	protected void onPause() 
	{
		super.onPause();
		if (dh != null)
		{
			dh.cerrar();	
		}
		
	}
    
    private void guardayMuestraGrupo()
    {
    	
        //Instancia de la BBDD
        dh = new DataHelper(this);
    	
    	
    	if (editarGrupo)
    	{
    		dh.actualizaGrupo(miGrupo);
    		miGrupo.setIntegrantes( dh.listarMiembrosGrupo( miGrupo.getIdGrupo()) );
    	}
    	else
    	{
        	int nuevoId = dh.insertarGrupo(miGrupo);
        	miGrupo.setIdGrupo(nuevoId);    		
    	}
    	
    	Toast.makeText(NuevoGrupoActivity.this, R.string.nuevogrupo_toast_nuevo_grupo_creado, Toast.LENGTH_SHORT).show();
    	
    	Intent grupoAct = new Intent(getBaseContext(), GrupoActivity.class);
    	grupoAct.putExtra(Constantes.GRUPO, miGrupo);
    	startActivity(grupoAct);
    	finish();
    }

}
